package algoritmi;

/**
 * FIFO - First In First Out algoritam
 * 
 * @author Maja Kabiljo
 * 
 */
public class FIFO extends AlgoritamImpl {
	private int[] vrednosti;
	private int pokazivac;

	public FIFO() {
	}

	@Override
	protected void start(int[] koraci) {
		vrednosti = new int[velicinaKesa];
		for (int i = 0; i < velicinaKesa; i++)
			vrednosti[i] = i;
		pokazivac = -1;
	}

	@Override
	protected int[] getVrednosti() {
		return vrednosti;
	}

	@Override
	protected void pogodak(int korak, int pozicijaUKesu) {
	}

	@Override
	protected int promasaj(int korak) {
		pokazivac++;
		if (pokazivac >= velicinaKesa)
			pokazivac -= velicinaKesa;
		for (int i = 0; i < velicinaKesa; i++)
			vrednosti[i]--;
		vrednosti[pokazivac] = velicinaKesa - 1;
		return pokazivac;
	}
}
